Mesh to MetaHumanで自分似の3Dモデルを作って #UnrealEngine5 に組み込んでみた
こんにちは、ゲームソリューショングループの入井です。
自分と似た顔の3DキャラクターモデルをUnreal Engineに組み込む方法を見つけ、面白そうなので試してみました。
私自身は3DCGモデルを作成するスキルはまったく持っていないのですが、最後まで特につまづくことなく作業を進めることができました。そのため、どなたでも気軽に試すことができる内容だと思われます。
実行環境
- Unreal Engine 5.0.3
- MetaHuman Plugin 1.00
- Blender 3.3.1
- FaceBuilder 2022.2.0
MetaHumanとは
ざっくり言えば、Unreal Engineで使える物凄くリアルな人物3Dモデルのことです。公式サイトを見るとわかりますが、えぐいほど本物っぽいです。このクオリティなのに、作成や利用が無料でできるというのが驚きです。(2022年11月現在は早期アクセス中)
MetaHumanの作り方には2種類あり、1つはMetaHuman Creatorというツールを使う方法です。ゲームでよくあるキャラクタークリエイト機能に近いもので、Webブラウザ上で直感的に操作をするだけで簡単にMetaHumanが出来上がってしまいます。
もう1つがMesh to MetaHumanと言われるもので、その名の通り人の顔の3Dモデルのメッシュ(形状)を元に、似た顔のMetaHumanを自動的に作ってくれる機能です。今回の記事では、このMesh to MetaHumanを使って私を元にしたMetaHumanを作っていきます。
自分の顔の3Dモデル用意
まずは、Mesh to MetaHumanに読み込ませるための自分の顔の3Dモデルを作ります。
前述の通り、私は3DCG制作スキルは持っていないので、顔写真を元に簡単に頭の3Dモデルを作成できるツールを利用します。
今回は、BlenderのFaceBuilderというプラグインを使いました。有料のプラグインですが、インストールして30日間は無料で使用できます。
FaceBuilder for Blender | KeenTools
こんな風に、自分の顔画像から3Dモデルが簡単に作成できます。顔画像は他に6枚ほど違う角度から撮影したものを使っています。
私は普段はメガネを掛けているのですが、MetaHumanはメガネには対応していないため、裸眼でモデルを作成しました。
UnrealEngine5での作業
顔のモデルが用意できたら、Unreal Engineでの作業に入っていきます。
MetaHumanプラグインのセットアップ
Unreal Engineは標準ではMetaHuman関連の機能が付いていないため、以下のツールをダウンロードして有効化する必要があります。
MetaHuman プラグイン:コードプラグイン - UE マーケットプレイス
3Dモデルインポート
先程のモデルのFBXファイルとテクスチャをBlenderからエクスポートし、それをそのままUnrealEngineにスタティックメッシュとしてインポートします。この時、Import Optionでcombine meshにチェックが入っている必要があるようです。
Mesh to MetaHumanでの生成作業
Content Browser内の何もないところで右クリックし、メニューの中からMetaHuman→MetaHuman Identityと選択します。
Mesh To MetaHumanの設定画面が開きます。画面左上のComponents from Meshをクリックし、先程インポートした顔のスタティックメッシュを選択します。
3Dモデルが読み込まれます。
画面左のツリーの中のNeutral Poseを選択した状態で上部メニュー内のPromote Frameをクリックすると、Frame0という名前のフレーム設定が新しく作成されます。
画面左のツリー内のBodyを選択すると、その下に色々な人物の体型が表示されるので、自分に近い体型を選択します。ここで選択した体型を元にMetaHumanの体型が決まります。体型は後からでも変更可能です。
画面上部のTrack Active Frameをクリックすると、モデルの両目、ほうれい線、口の形に沿って緑色の線が自動的に設定されます。
緑色の線がテクスチャの目の形などとズレていた場合、ここで微調整しておきます。ズームすると調整しやすいです。
調整が完了したら、画面上部のIdentity Solveをクリックします。
モデルが表示されている画面の上部にA|Bボタンがあり、BをクリックするとMetaHumanの顔部分のメッシュがプレビューできます。この時点では髪や肌の設定はされず、純粋な形のみの表示です。
調整が完了したら、画面上部のMesh To MetaHumanをクリックしてMetaHumanの生成を行います。しばらく待つと上の画像のように生成完了のメッセージが表示されます。
MetaHuman CreatorでMetaHumanを微調整
MetaHuman Creatorにアクセスし、ツールを起動します。編集対象のMetaHumanを選択する画面で「自分のMetaHuman」タブをクリックすると、これまで自分が作成したMetaHumanの一覧が表示され、その中に先程Unreal Engineで生成したモデルがあるので、それを選択して編集画面に入ります。
編集画面で髪や肌を設定していきます。上の画像の通り、本当にゲームでよくあるキャラクタークリエイト画面そのままで、直感的にモデルをいじっていくことができます。
ちなみにこの時点のMetaHumanを妻に見せたところ、「あまり似てない」と言われました。
もう少し似せられるよう、更にMetaHumanをいじっていきます。
Mesh To MetaHumanで生成した場合、メッシュの形は編集できないようロックがかかっています。ロックを外そうとするとデータ保持のためキャラクターを複製したほうが良いと警告メッセージが表示されるので、複製するかしないかを決めてアンロックします。
やけに二重がくっきりしていたので、それを隠すように編集しました。
妻に見せると「まぁまぁ似てきたかも」とお墨付きをもらったので、これで完成ということにします。
ただ、何処となく外国人的雰囲気が混ざっているように思います。元になった3Dモデルの時点で少し変だったのかか、海外製ソフトということで日本人っぽく生成するのは苦手なのか、原因は分からないです。
ちなみに、MetaHuman Creator上ではこんなふうに色々とキャラクターにアニメーションをさせて遊ぶことができます。自分似のモデルが変なことをやっているのを見るのはなかなか不思議な気分です。
MetaHumanをUnrealEngine5へインポート
Unreal Engineに戻り、Quixel Bridgeを開きます。Quixel Brideの画面では、Epic Gamesアカウントでのログインが必要になります。
Quixel Bridgeの画面左の人マークのアイコンをクリックすると、MetaHumanをUnreal Engineにインポートするための画面が開きます。My MetaHumansを選択すると、MetaHuman Creatorで作成したMetaHumanの一覧が表示されます。
MetaHumanのサムネイルをクリックし、DownloadボタンをクリックするとUnreal Engineで使用できるMetaHumanの3Dモデルの生成処理が開始します。かなり時間のかかる処理のようで、私の場合は10分くらいかかりました。
生成が完了後にAddボタンをクリックすると、Content BrowserのMetaHumansディレクトリにMetaHumanのBluePrintなどが作成されます。
完成したモデルをゲーム画面上に配置してみました。
現状、MetaHuman Creatorのプレビューと比べるとハイクオリティ設定でも少し品質が劣化してしまうようです。それでも、十分にクオリティの高い3Dモデルが使用できるようになりました。
プレイ画面でもちゃんと配置されています。
まとめ
簡単な手順で自分似の3DモデルをUnreal Engine内で使用できるようになりました。物凄く似ているというほどではありませんが、ところどころの特徴は捉えていおり、もう少し試行錯誤をすれば更に良いモデルが出来上がりそうな気がします。
MetaHumanから作ったばかりの現状のモデルは、アニメーションも何も設定されておらず棒立ち状態です。ゲームなどで活用するには、もっと色々と手を加える必要があります。次回以降の記事では、そのあたりの作業も試していきたいと思います。